//获取token
var token = CoreUtil.getData("access_token");
//地址栏转义token中的#号
var tokenQuery = token.replace("#", "%23");
var tableIns1;
var table = layui.table;
var form = layui.form;
var layer = layui.layer;
var $ = jQuery = layui.jquery;
var laydate = layui.laydate;

var defaultStatus = "1,2";

layui.use(['table', 'layer', 'laydate'], function () {
    //加载table
    tableIns1 = table.render({
        elem: '#showTable'
        , contentType: 'application/json'
        , headers: {"authorization": token}
        , page: true //开启分页
        , where: {
            status: defaultStatus
        }
        , url: '/sysStore/listByPage' //数据接口
        , method: 'POST'
        , parseData: function (res) {//将原始数据解析成 table 组件所规定的数据
            // 查询到门店后查询用户信息
            return {
                "code": res.code, //解析接口状态
                "msg": res.msg, //解析提示文本
                "count": CoreUtil.isEmpty(res.data) ? 0 : res.data.total, //解析数据长度
                "data": CoreUtil.isEmpty(res.data) ? null : res.data.records //解析数据列表
            }
        }
        , cols: [
            [
                {type: 'checkbox', fixed: 'left'},
                {field: 'id', title: '', sort: true},
                {field: 'storeName', title: '门店全称', sort: true},
                {field: 'storeNames', title: '门店简称', sort: true},
                {field: 'area', title: '地址', sort: true
                    ,templet:function(item){
                        // return '<a class="layui-btn layui-btn-xs" >正常</a>';
                        var html = '';
                        var province = item.province.split(',');
                        var city = item.city.split(',');
                        var area = item.area.split(',');
                        html += '<a class="layui-btn layui-btn-xs" >'+province[1]+'</a>'
                        html += '<a class="layui-btn layui-btn-xs" >'+city[1]+'</a>'
                        html += '<a class="layui-btn layui-btn-xs" >'+area[1]+'</a>'
                        return html;
                    }
                },
                {field:'address',title: '地址', sort: true},

                {field: 'status', title: '状态',
                    // （1.正常2.停用 3.审核失败 4.审核中）
                    templet: function (item) {
                        if (item.status == 1) {
                            return '<a class="layui-btn layui-btn-xs" >正常</a>';
                        }
                        if (item.status == 2) {
                            return '<a class="layui-btn layui-btn-xs layui-btn-normal" >停用</a>';
                        }
                        if (item.status == 3) {
                            return '<a class="layui-btn layui-btn-xs layui-btn-warm " >审核失败</a>';
                        }
                        if (item.status == 4) {
                            return '<a class="layui-btn layui-btn-xs" >审核中</a>';
                        }
                    }},

                {field: 'createTime', title: '创建时间', sort: true},
                {width: 120, toolbar: "#tool", title: '操作'}
            ]
        ]
        , toolbar: '#toolbar'
    });

    // 表头工具
    table.on('toolbar(showTable)', function (obj) {
        switch (obj.event) {
            case 'batchDeleted':
                var checkStatus = table.checkStatus(obj.config.id);
                var data = checkStatus.data;
                if (data.length == 0) {
                    layer.msg("请选择要批量删除的列");
                } else {
                    var ids = [];
                    $(data).each(function (index, item) {
                        ids.push(item.id);
                    });
                    tipDialog(ids);
                }
                break;
            case 'add':
                $(".table_div").hide();
                $(".operation").show();
                $(".title").html("新增");
                $(".operation input[name=id]").val("");
                $(".operation input[name=userId]").val("");
                $(".operation input[name=storeName]").val("");
                $(".operation input[name=storeNames]").val("");
                $(".operation input[name=storeMsgs]").val("");
                $(".operation input[name=storeMsg]").val("");
                $(".operation input[name=address]").val("");
                $(".operation input[name=lng]").val("");
                $(".operation input[name=mlat]").val("");
                $(".operation input[name=status]").val("");
                $(".operation input[name=errorMsg]").val("");
                $(".operation input[name=updateId]").val("");
                $(".operation input[name=createTime]").val("");
                $(".operation input[name=updateTime]").val("");
                addSSQ();
                break;
        }
        ;
    });

    // 列操作
    table.on('tool(showTable)', function (obj) {
        var data = obj.data;
        switch (obj.event) {
            case 'del':
                var ids = [];
                ids.push(data.id);
                tipDialog(ids);
                break;
            case 'edit':
                $(".table_div").hide();
                $(".update").show();
                $(".title").html("编辑");
                // 通过id 查询门店信息，用户信息进行展示，

                // $(".update input[name=id]").val(data.id);
                // $(".update input[name=userId]").val(data.userId);
                // $(".operation input[name=storeName]").val(data.storeName);
                // $(".operation input[name=storeNames]").val(data.storeNames);
                // $(".operation input[name=storeMsgs]").val(data.storeMsgs);
                // $(".operation input[name=storeMsg]").val(data.storeMsg);
                // $(".operation input[name=address]").val(data.address);
                // $(".operation input[name=lng]").val(data.lng);
                // $(".operation input[name=mlat]").val(data.mlat);
                // $(".operation input[name=status]").val(data.status);
                // $(".operation input[name=errorMsg]").val(data.errorMsg);
                // $(".operation input[name=updateId]").val(data.updateId);
                // $(".operation input[name=createTime]").val(data.createTime);
                // $(".operation input[name=updateTime]").val(data.updateTime);
                break;
        }
    });

    // 删除
    var tipDialog = function (ids) {
        layer.open({
            content: "确定要删除么?",
            yes: function (index, layero) {
                layer.close(index); //如果设定了yes回调，需进行手工关闭
                CoreUtil.sendDelete("/sysStore/delete", ids, function (res) {
                    layer.msg(res.msg, {time: 1000}, function () {
                        search();
                    });
                });
            }
        });
    };

    // 返回
    $("#btn_cancel").click(function () {
        $(".table_div").show();
        $(".operation").hide();
        return false;
    });

    // 监听保存
    form.on('submit(submit)', function (data) {
        console.log("from 表单 ",data)
        if (data.field.id === undefined || data.field.id === null || data.field.id === "") {
            CoreUtil.sendPost("/sysStore/addStore", data.field, function (res) {
                $(".table_div").show();
                $(".operation").hide();
                search();
            });
        } else {
            // CoreUtil.sendPut("/sysStore/update", data.field, function (res) {
            //     $(".table_div").show();
            //     $(".operation").hide();
            //     search();
            // });
        }

        return false;
    });

    // 省市区
    // 省级数据加载
    var addSSQ = function (province, city, area) {
        if(!province){
            province = $(".operation select[name=province]");
        }
        if(!city){
            city = $(".operation select[name=city]");
        }

        if(!area){
            area = $(".operation select[name=area]");
        }

        var loadIndex = top.layer.load(0, {shade: [0.8, '#393D49']});
        dataSetSelect(province, 1, 0);
        dataSetSelect(city, 2, $(province).val());
        dataSetSelect(area, 3, $(city).val());

        console.log($(province).val(), $(city).val())
        top.layer.close(loadIndex);
        form.on('select(province)', function (proData) {
            var value = proData.value;
            // 清空市
            var html = '<option value="">请选择市</option>';
            $(city).html(html);

            html = '<option value="">请选择区</option>';
            $(area).html(html);

            dataSetSelect(city, 2, value);
        });
        form.on('select(city)', function (proData) {
            var value = proData.value;
            // 清空区
            var html = '<option value="">请选择区</option>';
            $(area).html(html);
            dataSetSelect(area, 3, value);
        });

    }
    var dataSetSelect = function (elem, level, parentId) {
        var defaultVal = $(elem).attr("layer_data");
        if (level != 1 || defaultVal != "") {
            CoreUtil.sendPostF(
                "/sysArea/list"
                , {
                    level: level,
                    parentId: parentId
                }
                , function (res) {
                    // 得到数据。生成下拉框数据
                    var data = res.data;
                    var proHtml = '';
                    $.each(data, function (idx, item) {
                        if (defaultVal == item.areaName) {
                            proHtml += '<option value="' + item.id + '" selected="">' + item.areaName + '</option>';
                        }else if (defaultVal == item.id){
                            proHtml += '<option value="' + item.id + '" selected="">' + item.areaName + '</option>';
                        }else {
                            proHtml += '<option value="' + item.id + '">' + item.areaName + '</option>';
                        }
                    });
                    $(elem).append(proHtml);
                    form.render();//更新  所在容器内的全部表单状态
                });
        }
    }


});

//执行查询
function search() {
    var check = {
        status: defaultStatus
    };
    //这里以搜索为例
    tableIns1.reload({
        //设定异步数据接口的额外参数，任意设
        where: check
        , page: {
            curr: 1 //重新从第 1 页开始
        }
    });
};